f = open('C:/Users/Toby Mac/Desktop/Test.txt','r')
s=f.read()
print(s)

#为了保证无论是否出错都能正确地关闭文件，我们可以使用try ... finally来实现
try:
    f = open('C:/Users/Toby Mac/Desktop/Test.txt','r')
    print(f.read())
finally:
    if f:
        f.close()

#Python引入了with语句来自动帮我们调用close()方法
with open('C:/Users/Toby Mac/Desktop/Test.txt') as f:
    print(f.read())

#调用read()会一次性读取文件的全部内容,要保险起见，可以反复调用read(size)方法
#另外，调用readline()可以每次读取一行内容，调用readlines()一次读取所有内容并按行返回list
for line in f.readlines():
    print(line.strip())

#要读取二进制文件,比如图片、视频等等,用'rb'模式打开文件即可
f = open('C:/Users/Toby Mac/Desktop/Test.txt','rb')
print(f.read())

#要读取非UTF-8编码的文本文件，需要给open()函数传入encoding参数，例如，读取GBK编码的文件：
#***********打印出的是繁体中文
f = open('C:/Users/Toby Mac/Desktop/Test.txt', 'r', encoding='gbk')
print(f.read())
#***********

#如果遇到编码错误后如何处理。最简单的方式是直接忽略
f = open('C:/Users/Toby Mac/Desktop/Test.txt','r',encoding='gbk',errors='ignore')

#写文件
f = open('C:/Users/Toby Mac/Desktop/Test.txt','w')
f.write('hello,world')
f.close()

with open('C:/Users/Toby Mac/Desktop/Test.txt','w') as f:
    f.write('hello,world\n')

with open('C:/Users/Toby Mac/Desktop/Test.txt','a') as f:
    f.write('hello,world')
